1 \BOOKMARK [1][-]{section.1}{Plantilla}{}% 1
2 \BOOKMARK [1][-]{section.2}{Teor\355a de n\372meros}{}% 2
3 \BOOKMARK [2][-]{subsection.2.1}{Big mod}{section.2}% 3
4 \BOOKMARK [2][-]{subsection.2.2}{Criba de Erat\363stenes}{section.2}% 4
5 \BOOKMARK [2][-]{subsection.2.3}{Divisores de un n\372mero}{section.2}% 5
6 \BOOKMARK [1][-]{section.3}{Combinatoria}{}% 6
7 \BOOKMARK [2][-]{subsection.3.1}{Cuadro resumen}{section.3}% 7
8 \BOOKMARK [2][-]{subsection.3.2}{Combinaciones, coeficientes binomiales, tri\341ngulo de Pascal}{section.3}% 8
9 \BOOKMARK [2][-]{subsection.3.3}{Permutaciones con elementos indistinguibles}{section.3}% 9
10 \BOOKMARK [2][-]{subsection.3.4}{Desordenes, desarreglos o permutaciones completas}{section.3}% 10
11 \BOOKMARK [1][-]{section.4}{Grafos}{}% 11
12 \BOOKMARK [2][-]{subsection.4.1}{Algoritmo de Dijkstra}{section.4}% 12
13 \BOOKMARK [2][-]{subsection.4.2}{Minimum spanning tree: Algoritmo de Prim}{section.4}% 13
14 \BOOKMARK [2][-]{subsection.4.3}{Minimum spanning tree: Algoritmo de Kruskal + Union-Find}{section.4}% 14
15 \BOOKMARK [2][-]{subsection.4.4}{Algoritmo de Floyd-Warshall}{section.4}% 15
16 \BOOKMARK [2][-]{subsection.4.5}{Algoritmo de Bellman-Ford}{section.4}% 16
17 \BOOKMARK [2][-]{subsection.4.6}{Puntos de articulaci\363n}{section.4}% 17
18 \BOOKMARK [2][-]{subsection.4.7}{M\341ximo flujo: M\351todo de Ford-Fulkerson, algoritmo de Edmonds-Karp}{section.4}% 18
19 \BOOKMARK [2][-]{subsection.4.8}{M\341ximo flujo para grafos dispersos usando Ford-Fulkerson}{section.4}% 19
20 \BOOKMARK [2][-]{subsection.4.9}{Componentes fuertemente conexas: Algoritmo de Tarjan}{section.4}% 20
21 \BOOKMARK [2][-]{subsection.4.10}{2-Satisfiability}{section.4}% 21
22 \BOOKMARK [1][-]{section.5}{Programaci\363n din\341mica}{}% 22
23 \BOOKMARK [2][-]{subsection.5.1}{Longest common subsequence}{section.5}% 23
24 \BOOKMARK [2][-]{subsection.5.2}{Partici\363n de troncos}{section.5}% 24
25 \BOOKMARK [1][-]{section.6}{Strings}{}% 25
26 \BOOKMARK [2][-]{subsection.6.1}{Algoritmo de Knuth-Morris-Pratt \(KMP\)}{section.6}% 26
27 \BOOKMARK [2][-]{subsection.6.2}{Algoritmo de Aho-Corasick}{section.6}% 27
28 \BOOKMARK [2][-]{subsection.6.3}{Suffix arrays y longest common prefix}{section.6}% 28
29 \BOOKMARK [1][-]{section.7}{Geometr\355a}{}% 29
30 \BOOKMARK [2][-]{subsection.7.1}{Identidades trigonom\351tricas}{section.7}% 30
31 \BOOKMARK [2][-]{subsection.7.2}{\301rea de un pol\355gono}{section.7}% 31
32 \BOOKMARK [2][-]{subsection.7.3}{Centro de masa de un pol\355gono}{section.7}% 32
33 \BOOKMARK [2][-]{subsection.7.4}{Convex hull: Graham Scan}{section.7}% 33
34 \BOOKMARK [2][-]{subsection.7.5}{Convex hull: Andrew's monotone chain}{section.7}% 34
35 \BOOKMARK [2][-]{subsection.7.6}{M\355nima distancia entre un punto y un segmento}{section.7}% 35
36 \BOOKMARK [2][-]{subsection.7.7}{M\355nima distancia entre un punto y una recta}{section.7}% 36
37 \BOOKMARK [2][-]{subsection.7.8}{Determinar si un pol\355gono es convexo}{section.7}% 37
38 \BOOKMARK [2][-]{subsection.7.9}{Determinar si un punto est\341 dentro de un pol\355gono convexo}{section.7}% 38
39 \BOOKMARK [2][-]{subsection.7.10}{Determinar si un punto est\341 dentro de un pol\355gono cualquiera}{section.7}% 39
40 \BOOKMARK [2][-]{subsection.7.11}{Hallar la intersecci\363n de dos rectas}{section.7}% 40
41 \BOOKMARK [2][-]{subsection.7.12}{Hallar la intersecci\363n de dos segmentos de recta}{section.7}% 41
42 \BOOKMARK [2][-]{subsection.7.13}{Determinar si dos segmentos de recta se intersectan o no}{section.7}% 42
43 \BOOKMARK [2][-]{subsection.7.14}{Centro del c\355rculo que pasa por 3 puntos}{section.7}% 43
44 \BOOKMARK [1][-]{section.8}{Estructuras de datos}{}% 44
45 \BOOKMARK [2][-]{subsection.8.1}{\301rboles de Fenwick \363 Binary indexed trees}{section.8}% 45
46 \BOOKMARK [2][-]{subsection.8.2}{Segment tree}{section.8}% 46
47 \BOOKMARK [1][-]{section.9}{Miscel\341neo}{}% 47
48 \BOOKMARK [2][-]{subsection.9.1}{El parser m\341s r\341pido del mundo}{section.9}% 48
49 \BOOKMARK [2][-]{subsection.9.2}{Checklist para corregir un Wrong Answer}{section.9}% 49
50 \BOOKMARK [2][-]{subsection.9.3}{Redondeo de dobles}{section.9}% 50
51 \BOOKMARK [3][-]{subsubsection.9.3.1}{Convertir un doble al entero m\341s cercano}{subsection.9.3}% 51
52 \BOOKMARK [3][-]{subsubsection.9.3.2}{Redondear un doble a cierto n\372mero de cifras de precisi\363n}{subsection.9.3}% 52
53 \BOOKMARK [1][-]{section.10}{Java}{}% 53
54 \BOOKMARK [2][-]{subsection.10.1}{Entrada desde entrada est\341ndar}{section.10}% 54
55 \BOOKMARK [2][-]{subsection.10.2}{Entrada desde archivo}{section.10}% 55
56 \BOOKMARK [2][-]{subsection.10.3}{Mapas y sets}{section.10}% 56
57 \BOOKMARK [2][-]{subsection.10.4}{Colas de prioridad}{section.10}% 57
58 \BOOKMARK [1][-]{section.11}{C++}{}% 58
59 \BOOKMARK [2][-]{subsection.11.1}{Entrada desde archivo}{section.11}% 59
60 \BOOKMARK [2][-]{subsection.11.2}{Strings con caract\351res especiales}{section.11}% 60
61 \BOOKMARK [2][-]{subsection.11.3}{Imprimir un doble con cout con cierto n\372mero de cifras de precisi\363n}{section.11}% 61